# class DefaultAdapter(ABC):
#
# def get_default_audio_adapter():
#     """ Builds and returns a default audio adapter instance.
#
#     :returns: An audio adapter instance.
#     """
#     if DefaultAdapter.DEFAULT is None:
#         from .ffmpeg import FFMPEGProcessAudioAdapter
#         AudioAdapter.DEFAULT = FFMPEGProcessAudioAdapter()
#     return AudioAdapter.DEFAULT
#
#
# def get_data_adapter(descriptor):
#     """ Load dynamically an AudioAdapter from given class descriptor.
#
#     :param descriptor: Adapter class descriptor (module.Class)
#     :returns: Created adapter instance.
#     """
#     if descriptor is None:
#         return get_default_audio_adapter()
#     module_path = descriptor.split('.')
#     adapter_class_name = module_path[-1]
#     module_path = '.'.join(module_path[:-1])
#     adapter_module = import_module(module_path)
#     adapter_class = getattr(adapter_module, adapter_class_name)
#     if not isinstance(adapter_class, AudioAdapter):
#         raise SpleeterError(
#             f'{adapter_class_name} is not a valid AudioAdapter class')
#     return adapter_class()
